import datetime
import os
import platform
import subprocess

from xlrd import Book


def isSheetExist(workbook: Book, sheetName: str):
    """检查是否存在该页面\n
    isSheetExist(Book, str) --> bool
    """
    for sname in workbook.sheet_names():
        if sheetName == sname:
            return True
    return False


def parseInt(strValue: str, defaultValue):
    """把字符转为int, 如果失败则返回defaultValue"""
    value: int
    try:
        value = int(strValue)
    except:
        value = defaultValue
    return value


def getDateTimeString(covertTime: datetime):
    """获取时间字符"""
    return covertTime.strftime("%y-%m-%d %H:%M:%S")


def openFilePath(fp: str):
    """
	打开文件或文件夹
	优点: 代码输入参数少, 复制粘贴即可使用, 支持在mac和win上使用, 打开速度快稳定;
	:param fp: 需要打开的文件或文件夹路径
	"""
    systemType: str = platform.platform()  # 获取系统类型
    if 'mac' in systemType:  # 判断以下当前系统类型
        fp: str = fp.replace("\\", "/")  # mac系统下,遇到`\\`让路径打不开,不清楚为什么哈,觉得没必要的话自己可以删掉啦,18行那条也是
        subprocess.call(["open", fp])
    else:
        fp: str = fp.replace("/", "\\")  # win系统下,有时`/`让路径打不开
    os.startfile(fp)
